home *** CD-ROM | disk | FTP | other *** search
Text File | 1997-05-07 | 19.0 KB | 456 lines | [TEXT/R*ch] |
- Newsgroups: comp.sys.mac.programmer.info
- Subject: [REV] Mac Programming Book Review (1/3)
- From: nick.c <nick@chem.ucla.edu>
- Organization: Digital Innovations
- Approved: MacTech Online <Online@MacTech.com>
- Distribution: world
- Mime-Version: 1.0
- Content-Type: text/plain; charset=ISO-8859-1
- Content-Transfer-Encoding: 8bit
- X-Newsreader: Nick's "Quick Hack" Poster
-
-
-
-
-
- [Last Updated: May 01, 1997]
-
-
-
- [Review] Macintosh Programming Book Review
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-
-
- The Mac Toolbox is a collection of ROM "tools" that you can
- use to generate many of the common elements of the Macintosh
- interface: both it's visible interface and it's "method" for
- relating to the user. A program is a recipe for getting a job
- done that the computer will read and follow. You can tell
- the computer to use the "tools" in the ROM Toolbox as well
- as other actions but you have to tell the computer in a language
- it'll understand. The most common language for creating these
- recipes on the Mac is C.
-
- Learning a language is a separate, and should be the first,
- step in learning to program a Macintosh. Only after you
- understand a language like C or Pascal well should you worry
- about manipulating the unique routines of the Macintosh
- Toolbox to create Macintosh specific effects like menus and
- dialogs. Only after you understand the Toolbox should you
- worry about class libraries that couple many of these routines
- into programming constructs--objects--to realize larger and
- more involved projects quickly.
-
- The following are recommended texts for help learning the principles
- of programming in C, learning C++, learning the Toolbox,
- familiarizing yourself with a particular programming environment,
- and other unique issues involved in programming the Macintosh. I've
- collected them from usenet posts or other sources, and since I
- haven't read all of them I've included descriptions supplied by
- folks who have. The author of the description is indicated when
- I had it. If anyone objects to being quoted or if I've misquoted
- anyone, just let me know and I'll remove or correct that entry.
- Please keep in mind, "best" is an subjective term.
-
- New additions and corrections have been marked "!!" and you can
- search for these strings to jump to the indicated sections:
-
- Part 1: = Learning C
- = Learning Pascal
- = Learning JAVA
- = Learning C++
-
- Part 2: = Learning the Toolbox
- = Mac Programming Resources
- = Learning the PowerMac
-
- Part 3: = Graphics Programming
- = PDA Programming
- = Special Issues
- - nick.c
-
- ________________________________________________________________________
-
-
-
- Part 1 of 3
- ~~~~~~~~~~~
-
-
- // ============================ Learning C =============================
- //
- // C is the defacto standard language for programming the Mac,
- // while not your only choice, it's certainly a good one for
- // a first language.
- //
-
- _The C Programming Language_ 2nd ed. by Brian Kernighan
- and Dennis Ritchie, Prentice Hall, 1988 ISBN: 0-13-110362-8
-
- The definitive reference for the C language. A must have.
-
- - nick.c
-
- ***
-
- The comp.lang.c FAQ: <http://www.eskimo.com/~scs/C-faq/top.html>
- <ftp://ftp.eskimo.com/u/s/scs/C-faq>
-
- _C Programming FAQs: Frequently Asked Questions_ by Steve Summit
- Addison-Wesley, ISBN 0-201-84519-9
-
- The usenet group comp.lang.c is a powerful source for help
- with the C language, and the FAQ for that group should be required
- reading for anyone taking on the C languge. It is regularly
- posted to that group, available by ftp, http, and soon to be
- published by Addison-Wesley DevPress.
- - nick.c
-
- ***
-
- _Learn C on the Macintosh_ 2nd Ed by Dave Mark
- Addison Wesley, 1995, ISBN: 0-201-48406-4, $35
-
- Dave Mark has revised his classic. I haven't read this one
- yet but hope to by the next release of the review.
-
- - nick.c
-
- ***
-
- _The Standard C Library_ by P.J. Plauger,
- Prentice Hall ISBN 0-13-131509-9
-
- While browsing at Barnes & Noble the other day I came across a book
- published by Plum Hall and written by the author of the Metrowerks
- libraries (name escapes me at the moment). It was on the ANSI
- libraries, and contained the statement, "The best reference to the
- ANSI libraries is the source of the libraries themselves."
-
- - unknown
-
- ***
-
- _C: A Reference Manual_ 4th ed, by Samuel P. Harbison and
- Guy L. Steele Jr., Prentice-Hall, 1995
-
- Although Kernighan & Ritchie is the "original" definition of C,
- I found that it is not very helpful in quickly answering questions
- arising during actual programming. The second edition may have
- been improved somewhat.
-
- However, what I consider THE ultimate C reference is [Harbison and
- Steele]. It really helped me quickly find answers to many tricky
- C programming questions. I consider this a must. It is not a
- good book for learning the C language.
-
- - Tom Verhoeff <wstomv@win.tue.nl>
-
- ***
-
- _Comprehensive C_ by David Spuler, Prentice Hall, 1992
- ISBN: 0-13-156514-1
-
- Picked this one up in Australia, so you might have trouble finding
- it elsewhere. A *very* good guide to ANSI standard C, covering all
- the various libraries in detail. Good chapters on portability and
- reusability of code, and general debugging techniques. A special
- appendix detailing the differences between C and Pascal for anyone
- moving between languages. The first 6 chapters or so are an
- in-depth look at all the various C keywords for flow control,
- variable assignments, etc. Geared more towards a UNIX type
- environment, but a good book for anyone wanting to know more about
- C nonetheless.
- - Samrobb <samrobb@aol.com>
-
- ***
-
- _C: the Pocket Reference, 2nd ed. by Herbert Schildt
- Osborne McGraw-Hill, 1991 ISBN: 0-07-881783-8
-
- I also *strongly* recommend ''C: the Pocket Reference'' by Herbert
- Schildt. I love this little book! It's great for a quick lookup
- of functions, especially in instances where you forget what
- order or type of arguments a certain function takes.
-
- - Michael P. Minori <gt7344b@prism.gatech.edu>
-
- ***
-
- _Annotated ANSI C Standard_, annotations by Herbert Schildt,
- Osborne/McGraw-Hill, ISBN 0-07-881952-0
-
- This book is the only affordable way to get a hold of a copy
- of the [ANSI C] standard. ... This is the document [the ANSI
- C standard] that _defines_ the language and belongs on the
- bookshelf of every serious C programmer.
-
- - Peter V. Gadjokov <pvg@bigbook.com>
-
- It has been suggested that the price differential between this work
- [$40] and the official standard [$130-400] reflects the value of
- the annotations: they are plagued by numerous errors and omissions,
- and a few pages of the Standard itself are missing. Many people
- on the net recommend ignoring the annotations entirely. A review
- of the annotations ("annotated annotations") by Clive Feather
- can be found on the web at <http://www.lysator.liu.se/c/schildt.html>.
-
- The text of the Rationale (not the full Standard) can be obtained
- from:
-
- <ftp://ftp.uu.net/doc/standards/ansi/X3.159-1989>
- <http://www.lysator.liu.se/c/rat/title.html>
-
- - from the comp.lang.c FAQ by Steve Summit <scs@eskimo.com>
-
-
- // ====================== Learning Pascal =============================
- //
- // Pascal was the favorite language of Macintosh programmers for
- // many years. As it is more rigidly structured language than C,
- // programmer mistakes are more likely to be caught by your compiler.
- // Much of the Macintosh system was written in Pascal and some of
- // the most essential toolbox references are still written in it.
- //
-
- _Scientific Pascal_, by Harley Flanders
- Birkhauser Publishing, ISBN: 0-8176-3760-5
-
- "In my mind it is not suitable as a first text on programming... It
- is not a book in which you will learn to program the Macintosh
- user interface. But this is essentially irrelevant. The great bulk
- of the code consists of algorithms that are independent of any GUI
- or operating system specifics.
-
- And that in my mind is the real strength of this book. It is
- chock-full of useful, carefully coded (and carefully
- documented), real-world algorithms that can be used by any
- mathematically literate scientist or engineer. In that sense
- it is comparable to Numerical Recipes in Pascal---except that
- Flander's code is far better."
-
- Source code included on DOS formatted floppy.
-
- - Richard S. Palais <palais@math.brandeis.edu>
-
- c.f. <http://users.aol.com/catambay/pascal-central/scipascal.html>
-
- // ========================= Learning JAVA ===========================
- //
- // JAVA is hot right now. It's a new oop language from SUN and one
- // I'm only learning myself at this point. But it's becoming very
- // clear that knowing JAVA as a second language will take you far
- // in the years to come.
- //
-
-
- _Core Java_ by Gary Cornell and Cay Horstmann SunSoft Press
-
- "The book is good to read and I have understood quite a few
- interesting things in a very short time. The book is about
- $40.00. It comes with a CD-ROM which has the JDK, the
- examples from the book and other similar books from SunSoft
- and also some development tools."
-
- - Krishnan Venkiteswaran <krishnan@gradin.cis.upenn.edu>
-
- _Exploring Java_ O'Reily Press
-
- My current favorite in Java books is the newly published "Exploring
- Java". It's more of a reference book, than a book to learn
- by. A lot of the other books out suffer from being rushed to
- market, in my opinion, to catch the Java wave. One point in
- Exploring Java's favor, in my opinion, is that it doesn't come
- with one of these useless CDs in the back with a jacked up price
- to match. EJ is only about $25 (US) compared to the usual $35-$40
- price of the +CD books.
-
- - Wayne Holder <wholder@shvn.com>
-
-
-
- // ========================== Learning C++ ===========================
- //
- // C++ is the object implementation of C. You should learn C
- // before you learn this more complex superset of C. There's no
- // rush to getting around to C++, it's a wonderfull language,
- // but not essential to programming the Macintosh. I've also
- // included books about program design and code optimization in
- // this section.
- //
-
- _The C++ Programming Language_ 2nd ed., by Bjarne Stroustrup
- Addison Wesley Publishing, 1991 ISBN: 0-201-53992-6
-
- As close to a definitive reference for the C++ language as
- exists. Very important reference, and one I've come to value
- more each time I re-read it. It's not a tutorial.
-
- - nick.c
- ***
-
- The comp.lang.c++ FAQ: <http://www.cerfnet.com/~mpcline/C++-FAQs-Lite/>
-
- - nick.c
- ***
-
- _Introduction to Object Oriented Programming_ by Timothy Budd
- Addison-Wesley Dev Press, 1991, ISBN: 0201547090
-
- One of the reasons C++ is hard to learn is that it is very
- difficult to describe both the language and OOP foundations in a
- clear, consistent manner. Timothy Budd's book introduces general
- OOP concepts and then provides discussion and examples of their
- implementations in C++, Smalltak, Objective C and Object Pascal.
-
- It's a blue hardcover, about the size and thickness of, say, the
- C++ ARM. There is a picture of platypus on the cover, I've heard
- people refer to it as 'the platypus book'.
-
- (According to the info on Amazon [www.amazon.com], a second edition,
- with added examples in CLOS, Java and Beta will be published Sept
- 1st. [1996])
- - Peter V. Gadjokov <pvg@bigbook.com>
-
- ***
-
- _Secrets of the C++ Masters_ by Jeff Alger
-
- I'd like to mention an often overlooked book that I consider
- an excellent source of ideas for people designing class
- libraries. The reason it's overlooked is that it has one of
- the dumbest titles on the C++ shelf: "Secrets of the C++
- Masters" by Jeff Alger.
-
- The book is a real gem, though. It assumes a thorough
- knowledge of C++, and so doesn't waste time teaching what
- most readers already know or can learn from other sources (In
- the preface, Jeff suggests an alternate title for the book
- might be "C++: The Way Of The Gurus" -- jeez, Jeff, maybe you
- ought to let someone else work on your book titles in the
- future...)
-
- The book focuses on three recurring themes: indirection,
- homomorphic class hierarchies, and memory spaces. In these,
- he develops some intriguing ideas (for example, one
- discussion covers dumb, smart, smarter, master, and
- insufferably brilliant pointers) which highlight potential
- pitfalls that most people might never even consider when
- designing classes.
-
- Highly recommended.
- - Paul Ferguson <fergy@best.com>
-
- ***
-
- _C++ Programming with CodeWarrior_ by Jan L. Harrington
- Academic Press, 1995 ISBN: 0-12-326420-0
-
- This book teaches object-oriented concepts from the beginning and
- focuses on ANSI C++. (I'm doing a sequel on the ToolBook and
- PowerPlant next...) I realize that this book is beyond most of the
- people in this newsgroup [comp.sys.mac.programmer.codewarrior],
- but occassionally we get a newbie here, and there have been a few
- requests for titles of this type. So, in case someone asks, you
- now know about it.
- - Jan L. Harrington <harrington@mhv.net>
-
- ***
-
- _Learn C++ on the Macintosh_ by Dave Mark
- Addison Wesley Publishing, 1993 ISBN: 0-201-62204-1
-
- An introduction to C++, best if you already understand C.
- I'd consider this an unofficial "part 2" to Dave's Learn C
- book. Includes a limited version of Symantec C++ 6.0.
-
- - nick.c
- ***
-
- _Effective C++ / 50 Specific Ways to Improve Your Programs
- and Designs_ by Scott Meyers
-
- Once you get your feet wet, and want to know how to best use
- your new-found C++ abilities, the book to get is "Effective
- C++ / 50 Specific Ways to Improve Your Programs and Designs"
- by Scott Meyers.
- - Gilles Dignard <gdignard@hookup.net>
-
- ***
-
- _Advanced C++ Programming Styles and Idioms_ by James Coplien
- ISBN 0-201-54855-0
-
- [A] book I would recommend is "Advanced C++ Programming
- Styles and Idioms". I learned from (and am still learning
- from) both Stroustup's and Coplien's book. Coplien's
- discussion on virtual functions and inheritance is
- particularly clear and concise, IMHO.
-
- Don't let the term "advanced" scare you off.
-
- - John Zachary <zachary@bit.csc.lsu.edu>
-
- ***
-
- _Writing Solid Code_ by Steve Maguire
-
- May I pop in with a recommendation for "Writing Solid Code"
- by Steve Maguire? Once you've gotten through your first C or
- C++ or even Pascal book, this book will teach you lots of
- good habits which will help you a LOT. It also goes through
- known problem areas, especially when writing C code, and
- tells you what you can do about it.
-
- Or maybe I should keep quiet about it and treat it as a
- secret corporate advantage? :-)
- - Jon Wtte <h+@nada.kth.se>
-
- ***
-
- _The Decline and Fall of the American Programmer_ by Edward Yourdon
- Yourdon Press, (c) 1993 ISBN 0-13-191958 about $20US
-
- The single most important book I've read about programming. This
- will frighten you, send chills down your spine, but it will also
- prepare you for a career in the computing industry. Chapters are
- clear, precisely written, and summarized. It covers an amazing
- array of ideas and principles; an entirely new approach to design
- and methodologies. If you care about world-class design, you have
- to go read this book.
- - Jason Newquist <jrnewquist@ucdavis.edu>
-
- ***
-
- _The Annotated C++ Reference Manual_ (ARM) Ellis & Stroustrup
- _Effective C++_, Scott Meyers - (Awesome book!)
- _C++ IOStreams Handbook_, Teale
-
- I rely on the [above] pretty heavily. Apart from the last
- one, these are more general C++ references rather than
- Mac-specific. I'll leave the Mac stuff to those who actually
- do Macs for a living (I play for fun).
-
- - Todd Blanchard <tblanch@lookout>
-
- ***
-
- [Corrections, comments, or suggestions should be mailed to Nick DeMello
- at <nick@chem.ucla.edu>. The latest version of this review can be found
- at <ftp://members.aol.com/codeweaver/bookreview_1.txt>
- <ftp://members.aol.com/codeweaver/bookreview_2.txt>
- <ftp://members.aol.com/codeweaver/bookreview_3.txt>]
-
-
-
- ==========================================================================
- Comp.sys.mac.programmer.info is a moderated newsgroup, where FAQ's,
- reviews, job listings, and other information valuable to Macintosh
- programmers may be posted and found.
-
- csmp.info is moderated by the MacTech Online Editor <Online@MacTech.com>
- of MacTech Magazine <http://www.mactech.com/>
- ==========================================================================
-
-